package com.color.admin.system.servie;

import com.color.admin.common.core.base.BaseService;
import com.color.admin.system.entity.SysDict;
import com.color.admin.system.entity.vo.dict.DictTreeVo;
import com.color.admin.system.entity.vo.dict.DictVo;

import java.util.List;
import java.util.Set;

/**
 * @author HaiQiu
 */
public interface DictService  extends BaseService<SysDict,SysDict, Set<String>, String,SysDict,Object,Object> {

    @Override
    void save(SysDict sysDict);

    /**
     * 保存并返回值
     * @param sysDict 返回保存值
     * @return DictVo
     */
    DictVo saveRes(SysDict sysDict);

    @Override
    void update(SysDict sysDict);

    /**
     * 修改并返回值
     * @param sysDict 返回保存值
     * @return DictVo
     */
    DictVo updateRes(SysDict sysDict);

    @Override
    void delete(Set<String> dictIds);

    @Override
    SysDict get(String o);

    @Override
    Object list(Object o);

    /**
     * 字典目录查询树形结构
     * @return 字典目录查询树形结构
     */
    List<DictTreeVo> tree();
}
